package com.ruoyi.print.service;

import java.util.List;
import com.ruoyi.print.domain.PhotoTask;
import com.ruoyi.print.domain.SinglePhoto;

/**
 * 照片打印任务Service接口
 * 
 * @author ruoyi
 * @date 2025-08-03
 */
public interface IPhotoTaskService 
{
    /**
     * 查询照片打印任务
     * 
     * @param photoTaskId 照片打印任务主键
     * @return 照片打印任务
     */
    public PhotoTask selectPhotoTaskByPhotoTaskId(Long photoTaskId);

    /**
     * 查询照片打印任务列表
     * 
     * @param photoTask 照片打印任务
     * @return 照片打印任务集合
     */
    public List<PhotoTask> selectPhotoTaskList(PhotoTask photoTask);

    /**
     * 新增照片打印任务
     * 
     * @param photoTask 照片打印任务
     * @return 结果
     */
    public int insertPhotoTask(PhotoTask photoTask);

    /**
     * 修改照片打印任务
     * 
     * @param photoTask 照片打印任务
     * @return 结果
     */
    public int updatePhotoTask(PhotoTask photoTask);

    /**
     * 批量删除照片打印任务
     * 
     * @param photoTaskIds 需要删除的照片打印任务主键集合
     * @return 结果
     */
    public int deletePhotoTaskByPhotoTaskIds(Long[] photoTaskIds);

    /**
     * 删除照片打印任务信息
     * 
     * @param photoTaskId 照片打印任务主键
     * @return 结果
     */
    public int deletePhotoTaskByPhotoTaskId(Long photoTaskId);

    /**
     * 根据任务ID查询该任务下的所有照片
     * 
     * @param photoTaskId 照片打印任务主键
     * @return 照片列表
     */
    public List<SinglePhoto> selectSinglePhotosByPhotoTaskId(Long photoTaskId);

    /**
     * 批量添加照片到任务
     * 
     * @param photoTaskId 照片打印任务主键
     * @param photos 照片列表
     * @return 结果
     */
    public int insertSinglePhotos(Long photoTaskId, List<SinglePhoto> photos);
}
